import Lazyload from './Lazyload';

const VueLazyload = {
  install(Vue, options) {
    //希望有一个类可以容易扩展bind函数里所需要的功能
    const LazyClass = Lazyload(Vue);

    const lazyClass = new LazyClass(options);
    // console.log(lazyClass); //Lazy {}

    Vue.directive('lazy', {
      // bind(el, bindings, vnode) {
      //   // console.log(el);
      //   //<img alt="xxxxxxxxxx"/>
      //   /**
      //    console.log(bindings);
      //    * {
      //    *   name: 'lazy',
      //    *   rawName: 'v-lazy',
      //    *   value: 'http://localhost:3000/images/1.jpg',
      //    *   expression: 'item.src',
      //    *   modifiers: {},
      //    *   def: {bind: ƒ}
      //    * }
      //    */
      //   // console.log(vnode);
      //   //VNode {tag: 'img', data: {…}, children: undefined, text: undefined, elm: img, …}
      // },
      bind: lazyClass.bindLazy.bind(lazyClass),
    });
  },
};

export default VueLazyload;
